package fachada;

import java.sql.SQLException;
import java.util.ArrayList;

import cliente.Cliente;
import cliente.ClienteJaCadastradoException;
import cliente.ControladorCliente;
import cliente.CpfInvalidoException;
import cliente.IRepositorioCliente;

public class Fachada implements IRepositorioCliente{
	
	private static Fachada instance = null;
	private ControladorCliente controladorCliente;
	
	public Fachada()throws Exception{
		this.controladorCliente = new ControladorCliente();
	}
	
	public static Fachada getInstance() throws Exception{
		if(Fachada.instance == null){
			Fachada.instance = new Fachada();
		}
		return instance;
	}

	public void ClienteCadastrar(Cliente cliente)
			throws ClienteJaCadastradoException, CpfInvalidoException, SQLException, Exception {
		this.controladorCliente.ClienteCadastrar(cliente);

	}

	public void ClienteAtualizar(Cliente cliente) {

	}

	public void ClienteRemover(String cpf) {
		
	}

	public void ClienteProcurar(String cpf) {

	}

	public ArrayList<Cliente> ClienteListar() {

		return ClienteListar();
	}

	public boolean Existe(String cpf) {
		// TODO Auto-generated method stub
		return false;
	}
}
